Micron Document
____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|


The NomadNet German Wikipedia | Archives | Info
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b

πŸ” Search

Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―

Coco/R
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Coco/R ist ein Parsergenerator, der aus einer L-attributierten EBNF-Grammatik einer Quellsprache einen Scanner und einen Parser fΓΌr diese Sprache erzeugt.

Der Scanner arbeitet als endlicher Automat. Er unterstützt Unicode-Zeichen in UTF-8-Kodierung und kann so konfiguriert werden, dass Groß-/Kleinschreibung ignoriert wird. Die Erkennung von Symbolen kann von ihrem rechten Kontext abhÀngig gemacht werden. ZusÀtzlich zu Terminalsymbolen kann der Scanner auch Pragmas verarbeiten, d. h. Symbole, die nicht zur Syntax der Sprache gehâren, sondern an beliebiger Stelle des Eingabestroms vorkommen kânnen (z. B. Compiler-Direktiven oder Zeilenende-Zeichen).

Der Parser arbeitet nach der Methode des rekursiven Abstiegs. LL(1)-Konflikte kΓΆnnen durch Vorgriff um mehrere Symbole oder durch semantische PrΓΌfungen gelΓΆst werden. Somit ist die Klasse der akzeptierten Grammatiken LL(k) fΓΌr beliebiges k. Fuzzy Parsing kann durch ein ANY-Symbol erreicht werden, das komplementΓ€re Symbolmengen beschreibt. Semantische Aktionen werden in der Sprache des erzeugten Scanners und Parsers beschrieben. Die Fehlerbehandlung im erzeugten Parser kann durch die Angabe von Synchronisationspunkten und "schwachen Terminalsymbolen" verfeinert werden. Die Grammatik wird auch auf VollstΓ€ndigkeit, Konsistenz, Redundanzfreiheit und auf ihre LL(1)-Eigenschaft geprΓΌft.

Es gibt Versionen von Coco/R fΓΌr die meisten modernen Sprachen (Java, C#, C++, Pascal, Modula-2, Delphi, VB.NET, Python, Ruby und andere). FΓΌr die Java-Version existiert ein Eclipse-Plugin. Grammatiken fΓΌr C# und Java stehen zum Download bereit.

Coco/R wurde an der UniversitΓ€t Linz entwickelt und steht unter einer Variante der GNU General Public License.

Contents

β€’ Siehe auch
β€’ Literatur
β€’ Weblinks

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Siehe auch

β€’ ANTLR
β€’ JavaCC
β€’ SableCC
β€’ GNU Bison
β€’ Yacc

Literatur

β€’ Pat Terry: Compiling with C# and Java. Pearson, 2005, ISBN 978-0-321-26360-5. – Setzt Coco/R im Compilerbau ein. In Englisch.
β€’ Peter Rechenberg, Hanspeter MΓΆssenbΓΆck: Ein Compiler-Generator fΓΌr Mikrocomputer. Hanser, 1985, ISBN 3-446-14495-1. – Das Buch beschreibt die Konstruktion von Coco in Modula-2.

Weblinks

β€’ Coco/R-Homepage
β€’ Coco/R-Seite von Pat Terry
β€’ Coco/R-Benutzerhandbuch (PDF; 248 kB)
β€’ Coco/R-Tutorial (Folien von Hanspeter MΓΆssenbΓΆck)